package com.payment.notify.core;
/**
 * 类名：NotifyPersist.java<br>
 * 描述：该类提供了写通知表和通知日志表的两个方法<br>
 * 创建者：XINJF<br>
 * 创建日期：2018年4月20日下午1:57:56<br>
 * 版本：1.0<br>
 * 修改者：<br>
 * 修改日期：<br>
 */
import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.payment.notify.domain.TblTradeNotifyRecord;
import com.payment.notify.domain.TblTradeNotifyRecordLog;
import com.payment.notify.service.NotifySerivce;

@Service("notifyPersist")
public class NotifyPersist {
	
	
	@Autowired
	private NotifySerivce notifySerivce;

	
	/**
	 * 
	 * 功能描述:创建通知记录<br>
	 * 创建者：XINJF<br>
	 * 创建日期:2018年4月20日下午2:02:12<br>
	 * 版本：1.0<br>
	 * 修改者：<br>
	 * 修改日期：<br>
	 * @param notifyRecord
	 * return Integer
	 */
	public Long saveNotifyRecord(TblTradeNotifyRecord notifyRecord) {
		return notifySerivce.creatNotifyRecord(notifyRecord);
	}

	/**
	 * 更新通知记录.<br/>
	 * 
	 * @param notifyId
	 * @param notifyTimes
	 *            通知次数.<br/>
	 * @param status
	 *            通知状态.<br/>
	 * @return 更新结果
	 */
	/**
	 * 功能描述:更新通知记录<br>
	 * 创建者：XINJF<br>
	 * 创建日期:2018年4月24日下午2:05:37<br>
	 * 版本：1.0<br>
	 * 修改者：<br>
	 * 修改日期：<br>
	 * @param notifyId 
	 * @param notifyTimes 通知次数
	 * @param status 通知状态
	 * return void
	 */
	public void updateNotifyRord(Long notifyId, int notifyTimes, int status) {
		TblTradeNotifyRecord notifyRecord = notifySerivce.getNotifyById(notifyId);
		notifyRecord.setNotifyTimes(notifyTimes);
		notifyRecord.setStatus(status);
		notifyRecord.setLastNotifyTime(new Date());
		notifySerivce.updateNotifyRecord(notifyRecord);
	}

	/**
	 * 创建通知日志记录.<
	 * 
	 * @param notifyId
	 *            通知记录ID.<br/>
	 * @param content
	 *            内容--多参数就存JSON.<br/>
	 * @param request
	 *            请求信息.<br/>
	 * @param response
	 *            返回信息.<br/>
	 * @param httpStatus
	 *            通知状态(HTTP状态).<br/>
	 * @return 创建结果
	 */
	
	/**
	 * 功能描述:创建通知日志记录<br>
	 * 创建者：XINJF<br>
	 * 创建日期:2018年4月20日下午2:08:01<br>
	 * 版本：1.0<br>
	 * 修改者：<br>
	 * 修改日期：<br>
	 * @param notifyId 通知记录ID
	 * @param content 内容--多参数就存JSON
	 * @param request 请求信息
	 * @param response 返回信息
	 * @param httpStatus 通知状态(HTTP状态)
	 * return Integer
	 */
	public Integer saveNotifyRecordLogs(Long notifyId, String merchantNo, String merchantOrderNo, String request, String response,
			int httpStatus,String content) {
		TblTradeNotifyRecordLog notifyRecordLog = new TblTradeNotifyRecordLog();
		notifyRecordLog.setHttpStatus(httpStatus);
		notifyRecordLog.setMerchantNo(merchantNo);
		notifyRecordLog.setMerchantOrderNo(merchantOrderNo);
		notifyRecordLog.setNotifyId(notifyId);
		notifyRecordLog.setRequest(request);
		notifyRecordLog.setResponse(response);
		notifyRecordLog.setCreateTime(new Date());
		notifyRecordLog.setContent(content);
		return notifySerivce.creatNotifyRecordLog(notifyRecordLog);
	}

}
